import { Rule, RuleType } from '@midwayjs/validate';
import { PageDTO } from '@dto/common/page.dto';

// 查询参数
export class ListCopyRecordDTO extends PageDTO {
  // ID
  @Rule(RuleType.string())
  id?: string;

  // 用户id
  @Rule(RuleType.string())
  userId?: string;

  // 掉落列表
  @Rule(RuleType.array())
  list?: any[];

  // 副本名称
  @Rule(RuleType.string())
  copyName?: string;

  // 副本工资
  @Rule(RuleType.string())
  copyWages?: string;

  // 副本消费
  @Rule(RuleType.string())
  copyUse?: string;

  // 备注
  @Rule(RuleType.string())
  copyDesc?: string;

  // 玄晶数量
  @Rule(RuleType.number())
  copyXuanJing?: number;

  // 特殊数量
  @Rule(RuleType.number())
  copySpecial?: number;

  // 创建时间
  @Rule(RuleType.date())
  createTime?: string;

  // 创建人
  @Rule(RuleType.string())
  createBy?: string;

  // 更新时间
  @Rule(RuleType.date())
  updateTime?: string;
}
// 新增参数
export class CreateCopyRecordDTO {
  // ID
  @Rule(RuleType.string().required())
  id?: string;

  // 用户id
  @Rule(RuleType.string().required())
  userId?: string;

  // 副本名称
  @Rule(RuleType.string().required())
  copyName?: string;

  // 副本工资
  @Rule(RuleType.string())
  copyWages?: string;

  // 副本掉落
  @Rule(RuleType.array())
  copyDrops?: any[];

  // 副本消费
  @Rule(RuleType.string())
  copyUse?: string;

  // 备注
  @Rule(RuleType.string())
  copyDesc?: string;

  // 玄晶数量
  @Rule(RuleType.number().required())
  copyXuanJing?: number;

  // 特殊数量
  @Rule(RuleType.number().required())
  copySpecial?: number;

  // 创建时间
  @Rule(RuleType.date().required())
  createTime?: string;

  // 创建人
  @Rule(RuleType.string().required())
  createBy?: string;

  // 更新时间
  @Rule(RuleType.date().required())
  updateTime?: string;
}

// 修改参数
export class UpdateCopyRecordDTO extends CreateCopyRecordDTO {}
